import java.util.BitSet;

/**
 * Created by smartown on 2017/5/16.
 * <p>
 * 一个BitSet类创建一种特殊类型的数组来保存位置。BitSet中的数组大小会随需要增加。
 * 这是一个传统的类，它在Java2中被完全重新设计。
 */
public class BitSetTest {

    public static void main(String[] args) {
        BitSet bitSet1 = new BitSet(16);
        BitSet bitSet2 = new BitSet(16);
        print("init", bitSet1, bitSet2);

        //set some bits
        for (int i = 0; i < 16; i++) {
            if ((i % 2) == 0) {
                bitSet1.set(i);
            }
            if ((i % 5) != 0) {
                bitSet2.set(i);
            }
        }
        print("set some bits", bitSet1, bitSet2);

        bitSet2.and(bitSet1);
        print("bitSet2.and(bitSet1)", bitSet1, bitSet2);

        bitSet2.or(bitSet1);
        print("bitSet2.or(bitSet1)", bitSet1, bitSet2);

        bitSet2.xor(bitSet1);
        print("bitSet2.xor(bitSet1)", bitSet1, bitSet2);
    }

    public static void print(String tag, BitSet bitSet1, BitSet bitSet2) {
        System.out.println(tag);
        System.out.println("bitSet1:" + bitSet1);
        System.out.println("bitSet2:" + bitSet2);
    }

}
